home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Instance.sea / XML Instance / Required / ccs_util.jar / test / framework / TestCase.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-09  |  4.5 KB  |  138 lines

  1. package test.framework;
  2.  
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.lang.reflect.Method;
  5.  
  6. public abstract class TestCase implements Test {
  7.    private final String fName;
  8.  
  9.    public TestCase(String name) {
  10.       this.fName = name;
  11.    }
  12.  
  13.    // $FF: renamed from: assert (boolean) void
  14.    protected void method_0(boolean condition) {
  15.       if (!condition) {
  16.          throw new AssertionFailedError();
  17.       }
  18.    }
  19.  
  20.    // $FF: renamed from: assert (java.lang.String, boolean) void
  21.    protected void method_1(String message, boolean condition) {
  22.       if (!condition) {
  23.          throw new AssertionFailedError(message);
  24.       }
  25.    }
  26.  
  27.    protected void assertEquals(Object expected, Object actual) {
  28.       if (!expected.equals(actual)) {
  29.          this.method_1(this.notEqualsMessage("", expected, actual), false);
  30.       }
  31.  
  32.    }
  33.  
  34.    protected void assertEquals(long expected, long actual) {
  35.       if (expected != actual) {
  36.          this.method_1(this.notEqualsMessage("", new Long(expected), new Long(actual)), false);
  37.       }
  38.  
  39.    }
  40.  
  41.    protected void assertEquals(double expected, double actual, double delta) {
  42.       if (Math.abs(expected - actual) > delta) {
  43.          this.method_1(this.notEqualsMessage("", new Double(expected), new Double(actual)), false);
  44.       }
  45.  
  46.    }
  47.  
  48.    protected void assertEquals(String message, Object expected, Object actual) {
  49.       if (!expected.equals(actual)) {
  50.          this.method_1(this.notEqualsMessage(message + " ", expected, actual), false);
  51.       }
  52.  
  53.    }
  54.  
  55.    protected void assertEquals(String message, long expected, long actual) {
  56.       if (expected != actual) {
  57.          this.method_1(this.notEqualsMessage(message + " ", new Long(expected), new Long(actual)), false);
  58.       }
  59.  
  60.    }
  61.  
  62.    protected void assertEquals(String message, double expected, double actual, double delta) {
  63.       if (Math.abs(expected - actual) > delta) {
  64.          this.method_1(this.notEqualsMessage(message + " ", new Double(expected), new Double(actual)), false);
  65.       }
  66.  
  67.    }
  68.  
  69.    protected String notEqualsMessage(String message, Object expected, Object actual) {
  70.       return message + "expected:\"" + expected + "\"but was:\"" + actual + "\"";
  71.    }
  72.  
  73.    public void run(TestResult result) {
  74.       result.startTest(this);
  75.       this.setUp();
  76.  
  77.       try {
  78.          this.runTest();
  79.       } catch (AssertionFailedError e) {
  80.          result.addFailure(this, e);
  81.       } catch (Throwable e) {
  82.          result.addError(this, e);
  83.       }
  84.  
  85.       this.tearDown();
  86.       result.endTest(this);
  87.    }
  88.  
  89.    public int countTestCases() {
  90.       return 1;
  91.    }
  92.  
  93.    protected void runTest() throws Throwable {
  94.       Method runMethod = null;
  95.  
  96.       try {
  97.          runMethod = this.getClass().getMethod(this.fName);
  98.       } catch (NoSuchMethodException e) {
  99.          ((Throwable)e).fillInStackTrace();
  100.          throw e;
  101.       }
  102.  
  103.       try {
  104.          runMethod.invoke(this);
  105.       } catch (InvocationTargetException e) {
  106.          ((Throwable)e).fillInStackTrace();
  107.          throw e.getTargetException();
  108.       } catch (IllegalAccessException e) {
  109.          ((Throwable)e).fillInStackTrace();
  110.          throw e;
  111.       }
  112.    }
  113.  
  114.    protected void setUp() {
  115.    }
  116.  
  117.    protected void tearDown() {
  118.    }
  119.  
  120.    public String name() {
  121.       return this.fName;
  122.    }
  123.  
  124.    public TestResult run() {
  125.       TestResult result = this.defaultResult();
  126.       this.run(result);
  127.       return result;
  128.    }
  129.  
  130.    protected TestResult defaultResult() {
  131.       return new TestResult();
  132.    }
  133.  
  134.    public String toString() {
  135.       return this.getClass().getName() + "." + this.name();
  136.    }
  137. }
  138.